#include <bits/stdc++.h>
using namespace std;

signed main() {
  long long R;
  cin >> R;
  long long cnt = 0;

  // 计算第一象限中红色部分（不包括坐标轴上的点）
  for (long long i = 1; i < R; i++) {
    // 第i列正方形的右边线是x = i+0.5
    // 根据勾股定理计算该垂直线上最大的y值
    double y_max = sqrt((double)(R * R) - (i + 0.5) * (i + 0.5));
    // 计算在该列中有多少个完整的正方形
    long long count = (long long)floor(y_max - 0.5);
    if (count > 0) {
      cnt += count;
    }
  }

  // 利用对称性计算总数：
  // cnt * 4: 四个象限的红色部分
  // (R-1) * 4: 坐标轴上的蓝色部分（除了原点）
  // 1: 原点处的绿色部分

  cout << cnt * 4 + (R - 1) * 4 + 1 << endl;
  return 0;
}